let arr = [5,3,8,4,2,9,1,6,7]; //定义一个数组进行快速排序
function quickSort(arr){ //快速排序数组,传入一个数组
    if(arr === null || arr.length === 0){
        return []; // 返回空数组而不是undefined
    }
    //选择一个基准值,让基准值左侧的值都比基准值小,右侧的值都比基准值大
    let pivot = arr[0];
    let left = []; //定义一个左侧数组
    let right = []; //定义一个右侧数组
    for(let i = 1; i < arr.length; i++){
        if(arr[i] < pivot){
            left.push(arr[i]); //如果当前元素比基准值小,则放入左侧数组
        }else{
            right.push(arr[i]); //如果当前元素比基准值大,则放入右侧数组
        }
    }
    //在这里进行了递归调用,直到left和right为空数组为止
    left = quickSort(left); 
    right = quickSort(right);
    left.push(pivot); //将基准值放入左侧数组,也可以放入右侧数组,这个随意
    return left.concat(right);
}

console.log(quickSort(arr));